package com.kyl.base;

import io.swagger.annotations.ApiModelProperty;

import java.lang.annotation.*;

/**
 * DataScope注解用于数据权限过滤
 * 它主要用于方法级别，以控制数据访问权限
 * 通过指定部门别名和用户别名，可以实现细粒度的数据访问控制
 *
 * @author WanJl
 * @version 1.0
 * @title DataScope
 * @description 数据权限过滤注解
 * @create 2024/12/25
 */
@Target(ElementType.METHOD) // 指定注解应用于方法级别
@Retention(RetentionPolicy.RUNTIME) // 指定注解在运行时保留，以便运行时进行处理
@Documented // 指定该注解应被javadoc工具记录
public @interface DataScope {
    /**
     * 部门别名
     * 用于指定方法关联的部门字段别名
     * 默认值为空字符串
     */
    String deptAlias() default "";

    /**
     * 用户别名
     * 用于指定方法关联的用户字段别名
     * 默认值为空字符串
     */
    String userAlias() default "";
}
